﻿using Core.Configuration;

namespace Core.Domain.Customers
{
    /// <summary>
    /// 用户设置
    /// </summary>
    public class CustomerSettings : ISettings
    {
        /// <summary>
        /// 用户名注册
        /// </summary>
        public RegisterMethod NameMethod { get; set; }

        /// <summary>
        /// 是否可以更改用户名
        /// </summary>
        public bool ChangeUsernames { get; set; }

        /// <summary>
        /// 密码最小长度
        /// </summary>
        public int PasswordMinLength { get; set; }
        
        /// <summary>
        /// 是否允许上传头像
        /// </summary>
        public bool UploadAvatars { get; set; }

        /// <summary>
        /// 头像最大大小
        /// </summary>
        public int AvatarMaximumSizeBytes { get; set; }

        /// <summary>
        /// 默认头像
        /// </summary>
        public bool DefaultAvatarEnabled { get; set; }

        /// <summary>
        /// 是否显示注册时间
        /// </summary>
        public bool ShowCustomersJoinDate { get; set; }

        /// <summary>
        /// 在线用户
        /// </summary>
        public int OnlineCustomerMinutes { get; set; }

        /// <summary>
        /// 性别是否为必须
        /// </summary>
        public bool GenderRequired { get; set; }
        
        /// <summary>
        /// 隐私设置是否显示
        /// </summary>
        public bool AcceptPrivacyPolicyEnabled { get; set; }

        /// <summary>
        /// 用户是否被删除
        /// </summary>
        public bool SuffixDeletedCustomers { get; set; }

        /// <summary>
        /// 上次页面的客户信息
        /// </summary>
        public bool StoreLastVisitedPage { get; set; }

        /// <summary>
        /// 加密格式(SHA1, MD5）
        /// </summary>
        public string HashedPasswordFormat { get; set; }
    }
}
